home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / redakcyjne / PEBuilder / pebuilder3110a.exe / {app} / pe2usb.cmd < prev    next >
OS/2 REXX Batch file  |  2005-04-01  |  4KB  |  111 lines

  1. @echo off
  2. title BartPE USB Installer v1.0.1
  3. echo.
  4. echo BartPE USB Installer v1.0.1
  5. echo Copyright (c) 2005 Bart Lagerweij. All rights reserved.
  6. echo This program is free software. Use and/or distribute it under
  7. echo the terms of the Nu2 License.
  8. echo.
  9. setlocal
  10. set _format=
  11. set _target=
  12. set _base=%~dp0
  13. if "%1" == "-f" set _format=1& shift
  14. set _target=%~d1
  15. if "%_target%" == "" (
  16.     echo Usage pe2usb [-f] ^<drive:^>
  17.     echo.
  18.     echo Where:
  19.     echo     ^<drive:^> The drive letter of your USB flash drive
  20.     echo     -f       Format USB drive and install patched bootsector
  21.     echo              ^(this is only needed the first time^)
  22.     goto _err)
  23. echo USB target drive set to "%_target%"
  24. echo Checking drive "%_target%"
  25. if not exist %_target%\nul (
  26.     echo Error: Drive "%_target%" does not exist!
  27.     goto _err)
  28. if "%_target%" == "%SystemDrive%" (
  29.     echo Error: Trying to install to your SystemDrive?!?
  30.     goto _err)
  31. echo Checking files...
  32. for %%i in ("%_base%plugin\peinst\mkbt.exe" "%_base%pe2usb.bin" "%_base%BartPE\i386\setupldr.bin" "%_base%mkisofs.exe" "%_base%srsp1\ramdisk.sys" "%_base%srsp1\setupldr.bin" "%_base%BartPE\bootsect.bin") do if not exist %%i (
  33.     echo Error: File %%i not found!
  34.     echo Please check the pe2usb.txt for details!
  35.     goto _err)
  36. if not "%_format%" == "1" goto _install
  37. echo.
  38. echo *******************************************************************************
  39. echo Drive %_target% will be formatted!!! All data on drive will be erased!
  40. echo *******************************************************************************
  41. echo.
  42. set /p _answer=Type "YES" (uppercase) to continue:
  43. if "%_answer%" == "YES" goto _format
  44. echo You type "%_answer%", format aborted...
  45. goto _err
  46. :_format
  47. echo Formating drive "%_target%"...
  48. format %_target% /fs:fat /u /v:usb /backup
  49. if errorlevel 1 (
  50.     echo Error: Format %_target% failed!
  51.     goto _err)
  52. echo Installing bootsector from %_base%pe2usb.bin on drive %_target%
  53. "%_base%plugin\peinst\mkbt.exe" -x -l=BartPE "%_base%pe2usb.bin" %_target%
  54. if errorlevel 1 (
  55.     echo Error: Installing bootsector failed!
  56.     goto _err)
  57. :_install
  58. echo Checking bootsector from drive %_target%
  59. "%_base%plugin\peinst\mkbt.exe" -x -i %_target%
  60. if errorlevel 1 (
  61.     echo Error: Boot sector inspection failed!
  62.     goto _err)
  63. echo Copying %_base%srsp1\ramdisk.sys to %_base%BartPE\i386\system32\drivers
  64. copy /y "%_base%srsp1\ramdisk.sys" "%_base%BartPE\i386\system32\drivers"
  65. if errorlevel 1 (
  66.     echo Error: copy %_base%srsp1\ramdisk.sys to %_base%BartPE\i386\system32\drivers failed!
  67.     goto _err)
  68. echo Copying %_base%srsp1\setupldr.bin to %_target%\ntldr
  69. copy /y "%_base%srsp1\setupldr.bin" %_target%\ntldr
  70. if errorlevel 1 (
  71.     echo Error: copy %_base%srsp1\setupldr.bin to %_target%\ntldr failed!
  72.     goto _err)
  73. echo Copying %_base%BartPE\i386\ntdetect.com to %_target%\
  74. copy /y "%_base%BartPE\i386\ntdetect.com" %_target%\
  75. if errorlevel 1 (
  76.     echo Error: copy %_base%BartPE\i386\ntdetect.com to %_target%\ failed!
  77.     goto _err)
  78. echo Building %_target%\winnt.sif
  79. echo [SetupData] > %_target%\winnt.sif
  80. echo BootDevice = "ramdisk(0)" >> %_target%\winnt.sif
  81. echo BootPath = "\I386\SYSTEM32\" >> %_target%\winnt.sif
  82. echo OsLoadOptions = "/noguiboot /fastdetect /minint /rdexportascd /rdpath=bartpe.iso" >> %_target%\winnt.sif
  83. echo Generating ISO image %_target%\bartpe.iso
  84. "%_base%mkisofs.exe" -iso-level 4 -force-uppercase -volid "BartPE" -b bootsect.bin -no-emul-boot -boot-load-size 4 -hide bootsect.bin -hide boot.catalog -o %_target%\bartpe.iso "%_base%bartpe"
  85. if errorlevel 1 (
  86.     echo Error: mkisofs failed!
  87.     goto _err)
  88. echo.
  89. echo Ready!
  90. echo.
  91. set _size=0
  92. for %%i in (%_target%\bartpe.iso) do set _size=%%~zi
  93. set /a _size=%_size%/1048576
  94. echo ISO image size is %_size%MB
  95. set /a _size=%_size%+64
  96. echo *******************************************************************************
  97. echo You should be able to boot this on systems with at least %_size%MB of memory!
  98. echo *******************************************************************************
  99. goto _end
  100. :_err
  101. echo.
  102. echo Aborted...
  103. echo There was an error, script aborted!!!
  104. rem set errorlevel to 1 by (mis)using color
  105. color 00 
  106. :_end
  107. endlocal
  108. echo.
  109. echo Done (program will be closed)
  110. pause
  111.